﻿#ifndef _{ $NODE }_H_
#define _{ $NODE }_H_

#include "{$project}xml_global.h"
#include "../QBaseXML/QBaseXML.h"

{ $For SUBNODES }
#include "{ $Node }.h"
{ $EndFor }

namespace ns{ $Project }XML
{
	class Q{ $PROJECT }XML_EXPORT C{ $Node } : public QBaseXML
	{
	public:
		C{ $Node }();
		~C{ $Node }();

		static const QString _nodeName_;
		virtual void read(QXmlStreamReader &reader) override;
		virtual void write(QXmlStreamWriter &writer) override;

	public:
		{ $For PROPS }
		string_type { $Prop };
		{ $EndFor }

		QStringList propList;

	public:
		{ $For SUBNODES }
		std::vector<C{ $Node }> { $Node };
		{ $EndFor }

		QStringList subNodes;
	};

};

#endif
